普通宽带实现固定IP | 您所在的位置:网站首页 › 固定ip 公网ip › 普通宽带实现固定IP |
固定IP价格太贵,研究几天通过某信宽带拨号上网获取的动态公网IP(一般分配是私网IP,可以打电话给客服让改公网IP),然后在域名添加个A记录,通过不断监测本地公网IP更新到A记录实现。 配置需求: 1.宽带一条,拨号可以得到公网IP 2.域名一个,什么域名都可以 3.注册一个cloudflare帐号,免费版就行。阿里域名解析服务也可以,没有测试 4.一台可以运行shell的机器 方法: 将域名托管转移到cloudflare,在cloudflare服务里dns服务添加一台A记录,填上你本地的公网IP。 使用cloudflare的API更新公网IP,需要提供cloudflare的zone id 和 key,使用api获取域名A记录序列号。 curl -X GET "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records?type=A&name=example.com&content=127.0.0.1&page=1&per_page=20&order=type&direction=desc&match=all" \ -H "X-Auth-Email: [email protected]" \ -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \ -H "Content-Type: application/json"运行上面命令会返回 { "success": true, "errors": [], "messages": [], "result": [ { "id": "372e67954025e0ba6aaa6d586b9e0b59", "type": "A", "name": "example.com", "content": "198.51.100.4", "proxiable": true, "proxied": false, "ttl": 120, "locked": false, "zone_id": "023e105f4ecef8ad9ca31a8372d0c353", "zone_name": "example.com", "created_on": "2014-01-01T05:20:00.12345Z", "modified_on": "2014-01-01T05:20:00.12345Z", "data": {} } ], "result_info": { "page": 1, "per_page": 20, "count": 1, "total_count": 2000 } }返回id就是添加的A记录的标示符 下一步定时更新公网IP到cloudflare #获取公网IP a1=$(curl -s ipecho.net/plain) #更新到cloudflare curl -X PUT "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/dns_records/372e67954025e0ba6aaa6d586b9e0b59" \ -H "X-Auth-Email: [email protected]" \ -H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \ -H "Content-Type: application/json" \ --data '{"type":"A","name":"example.com","content":"'"$a1"'","ttl":120,"proxied":false}'返回如下说明就已经成功了: { "success": true, "errors": [], "messages": [], "result": { "id": "372e67954025e0ba6aaa6d586b9e0b59", "type": "A", "name": "example.com", "content": "198.51.100.4", "proxiable": true, "proxied": false, "ttl": 120, "locked": false, "zone_id": "023e105f4ecef8ad9ca31a8372d0c353", "zone_name": "example.com", "created_on": "2014-01-01T05:20:00.12345Z", "modified_on": "2014-01-01T05:20:00.12345Z", "data": {} } }这样就可以通过域名访问了,然后自己在路由设置好映射就可以了。 cloudflare API参考地址https://api.cloudflare.com/#dns-records-for-a-zone-update-dns-record
以上个人自写,如有违规请联系作者修改。建议也可以留言 |
CopyRight 2018-2019 实验室设备网 版权所有 |